module.exports = {
  // devServer: {
  //   host: 'localhost',
  //   port: 8080,
  //   proxy: {
  //     '/get': {
  //       target: 'http://localhost:3000', // 要跨域的域名
  //       changeOrigin: true // 是否开启跨域
  //     },
  //     '/api': {
  //       target: 'http://localhost:3000', // 要跨域的域名
  //       changeOrigin: true, // 是否开启跨域
  //       pathRewrite: { // 重写路径
  //         '^/api': '/api' // 这种接口配置出来     http://XX.XX.XX.XX:8083/api/login
  //         // '^/api': '/' 这种接口配置出来     http://XX.XX.XX.XX:8083/login
  //       }
  //     }
  //   }
  // },
  publicPath: './',
  configureWebpack: {
    externals: {
      BMap: 'BMap'
    }
  },
  chainWebpack: config => {
    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-prod.js')

      config.set('externals', {
        vue: 'Vue',
        'vue-router': 'VueRouter',
        axios: 'axios',
        'vue-clipboard2': 'VueClipboard',
        vuex: 'Vuex',
        cropperjs: 'Cropper',
        dayjs: 'dayjs',
        echarts: 'echarts'
      })

      config.plugin('html').tap(args => {
        args[0].isProd = true
        return args
      })
    })

    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-dev.js')

      config.plugin('html').tap(args => {
        args[0].isProd = false
        return args
      })
    })
  }
}
